The following applications of common assignee contain some common disclosure as the present application:
U.S. Patent Application entitled xe2x80x9cUART Based Autobauding Without Data Lossxe2x80x9d, application Ser. No. 08/684,346, filed Jul. 18, 1996, in the name of QUALCOMM Incorporated, now U.S. Pat. No. 5,923,705.
U.S. patent application entitled xe2x80x9cAccounting For Clock Slew In Serial Communicationsxe2x80x9d, application Ser. No. 09/368,204, filed Aug. 4, 1999 in the name of QUALCOMM Incorporated,
1. Field of the Invention
The present invention relates generally to the field of mobile communications. More particularly, the present invention relates to a system and method for guaranteeing clock slew correction in serial transmission of point-to-point protocol (PPP) data packets to cellular telephones capable of receiving and transmitting data.
2. Related Art
In addition to voice transmission capabilities, cellular telephones now provide data services. A cellular telephone configured to receive and transmit data allows a user to remotely access the Internet, e-mail, facsimiles, and other data sources using a laptop computer and the cellular telephone. The data provided by the transmitting device must be converted into signals appropriate for processing and transmission by the cellular telephone. Cellular telephones configured in accordance with time division multiple access (TDMA), frequency division multiple access (FDMA) or code division multiple access (CDMA) must convert the data to the appropriate format for their respective protocols.
To correctly process the data, the baud rate at which the data is transmitted to the cellular telephone (via data link such as serial port) must be determined. This process is referred to as autobauding. The cellular telephone must be able to identify the baud rate of the incoming data to effectively convert the data to the appropriate format for transmission.
To lessen power consumption and cut costs, universal asynchronous receive and transmit (UART) devices are used in cellular telephones to process incoming serial data. Usually these devices follow RS-232 protocol and only support the asynchronous portion of the standard. For autobauding, the UART operates in sampling mode until the baud rate for the incoming data is determined. Ideally, once the baud rate and the beginning character of a command are determined, the UART should immediately terminate the sampling mode of operation and process the remaining incoming data in the byte mode of operation. When the UART operates in byte mode, the UART automatically corrects for slew usually by means of phase locked loop hardware. Slew is the difference in clock rates between the transmitting clock and the receiving clock.
Autobaud looks for the following characters: xe2x80x98Axe2x80x99,xe2x80x98axe2x80x99, and xe2x80x98xcx9cxe2x80x99. xe2x80x98Axe2x80x99 and xe2x80x98axe2x80x99 represent the beginnings of an AT command. AT commands are comprised of all ASCII characters. RS-232, the EIA standard for serial transmission, requires the beginning of a character to be identified by a start bit. The start bit is always represented as a space (that is, a zero bit). The end of a character is identified by a stop bit. The stop bit is always represented as a mark (that is, a one bit). The most significant bit of an ASCII character is always a space. Thus, for ASCII characters, the stop bit is surrounded by spaces.
xe2x80x98xcx9cxe2x80x99 is the beginning of a PPP packet. PPP packets contain large strings of characters that are not necessarily ASCII. PPP packets can be of arbitrarily large size (whereas AT commands are limited in size by standard and further by practicality), and PPP packets are not guaranteed to be comprised of ASCII characters. Therefore, the method described in copending application entitled xe2x80x9cAccounting for Clock Slew In Serial Communicationsxe2x80x9d will not work reliably for PPP packets (due to lack of the unique feature used in the method described in said application). Also, it is not desirable to stay in sampling mode indefinitely.
What is needed is a system and method that, upon detection of a PPP packet, causes the transmitting UART to stop sending data within a certain number of characters to ensure that clock slew does not cause misinterpretation of the incoming data.
The present invention satisfies the above mentioned needs by providing a system and method for affecting the behavior of the transmitting UART that, in turn, results in an internal state change in the receiving UART. The present invention, upon detecting a PPP packet, flow controls the line, causing the transmitting UART to force a marking condition (that is, all ones) or idle state. This idle state enables the receiving UART to exit sampling mode and receive the remaining incoming data within the PPP packet in byte mode. The UART, when operating in byte mode, automatically accounts for slew.
Further features and advantages of the invention, as well as the structure and operation of various embodiments of the invention, are described in detail below with reference to the accompanying drawings.